EC-CUBE 2.11.4
[ class tree: EC-CUBE 2.11.4 ] [ index: EC-CUBE 2.11.4 ] [ all elements ]

Class: SC_Query

Source Location: /SC_Query.php

Class Overview


SQLの構築・実行を行う


Author(s):

  • LOCKON CO.,LTD.

Version:

  • $Id: SC_Query.php 21284 2011-10-18 03:09:15Z Seasoft $

Variables

Methods



Class Details

[line 34]
SQLの構築・実行を行う

TODO エラーハンドリング, ロギング方法を見直す




Tags:

author:  LOCKON CO.,LTD.
version:  $Id: SC_Query.php 21284 2011-10-18 03:09:15Z Seasoft $


[ Top ]


Class Variables

$arrWhereVal = array()

[line 38]


Type:   mixed


[ Top ]

$conn =

[line 39]


Type:   mixed


[ Top ]

$force_run =

[line 42]


Type:   mixed


[ Top ]

$groupby =  ''

[line 40]


Type:   mixed


[ Top ]

$option =  ''

[line 36]


Type:   mixed


[ Top ]

$order =  ''

[line 41]


Type:   mixed


[ Top ]

$where =  ''

[line 37]


Type:   mixed


[ Top ]



Class Methods


constructor SC_Query [line 51]

SC_Query SC_Query( [string $dsn = ""], [boolean $force_run = false], [boolean $new = false])

コンストラクタ.



Parameters:

string   $dsn   データソース名
boolean   $force_run   エラーが発生しても処理を続行する場合 true
boolean   $new   新規に接続を行うかどうか

[ Top ]

method andWhere [line 363]

SC_Query andWhere( string $str)

SELECT 文の WHERE 句に付与する AND 条件を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $str   WHERE 句に付与する AND 条件の文字列

[ Top ]

method begin [line 183]

MDB2_OK begin( )

トランザクションを開始する.



Tags:

return:  成功した場合は MDB2_OK; 失敗した場合は PEAR::Error オブジェクト


[ Top ]

method commit [line 173]

MDB2_OK commit( )

トランザクションをコミットする.



Tags:

return:  成功した場合は MDB2_OK; 失敗した場合は PEAR::Error オブジェクト


[ Top ]

method count [line 128]

integer count( string $table, [string $where = ""], [array $arrWhereVal = array()])

COUNT文を実行する.



Tags:

return:  件数


Parameters:

string   $table   テーブル名
string   $where   where句
array   $arrWhereVal   プレースホルダ

[ Top ]

method createIndex [line 802]

void createIndex( string $table, string $name, array $definition)

テーブルにインデックスを付与する



Parameters:

string   $table   テーブル名
string   $name   インデックス名
array   $definition   フィールド名など 通常のフィールド指定時は、$definition=array('fields' => array('フィールド名' => array())); MySQLのtext型フィールドを指定する場合は $definition['length'] = 'text_field(NNN)' が必要

[ Top ]

method currVal [line 702]

integer currVal( string $seq_name)

現在のシーケンス値を取得する.



Tags:

return:  現在のシーケンス値


Parameters:

string   $seq_name   取得するシーケンス名

[ Top ]

method delete [line 676]

void delete( string $table, [string $where = ""], [array $arrval = array()])

レコードの削除



Parameters:

string   $table   テーブル名
string   $where   WHERE句
array   $arrval   プレースホルダ

[ Top ]

method doCallbackAll [line 226]

boolean doCallbackAll( $cbFunc, string $sql, [ $arrval = array()], [integer $fetchmode = MDB2_FETCHMODE_ASSOC], callback $function, array $arrVal)

クエリを実行し、結果行毎にコールバック関数を適用する



Tags:

return:  結果


Parameters:

callback   $function   コールバック先
string   $sql   SQL クエリ
array   $arrVal   プリペアドステートメントの実行時に使用される配列。配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。
integer   $fetchmode   使用するフェッチモード。デフォルトは DB_FETCHMODE_ASSOC。
   $cbFunc  
   $arrval  

[ Top ]

method dropIndex [line 814]

void dropIndex( string $table, string $name)

テーブルにインデックスを破棄する



Parameters:

string   $table   テーブル名
string   $name   インデックス名

[ Top ]

method exec [line 213]

void exec( $str, [ $arrval = array()])

更新系の SQL を実行する.

この関数は SC_Query::query() のエイリアスです.

FIXME MDB2::exec() の実装であるべき




Parameters:

   $str  
   $arrval  

[ Top ]

method extractOnlyColsOf [line 852]

array extractOnlyColsOf( string $table, array $arrParams)

パラメーターの連想配列から, テーブルに存在する列のみを取得する.



Tags:

return:  テーブルに存在する列のみ抽出した連想配列


Parameters:

string   $table   テーブル名
array   $arrParams   プレースホルダの連想配列

[ Top ]

method get [line 583]

mixed get( string $col, string $table, [string $where = ""], [array $arrWhereVal = array()])

SQL を構築して, 特定のカラムの値を取得する.



Tags:

return:  SQL の実行結果


Parameters:

string   $table   テーブル名
string   $col   カラム名
string   $where   付与する WHERE 句
array   $arrWhereVal   プレースホルダに挿入する値

[ Top ]

method getAll [line 258]

array getAll( string $sql, [ $arrval = array()], [integer $fetchmode = MDB2_FETCHMODE_ASSOC], array $arrVal)

クエリを実行し、全ての行を返す



Tags:

return:  データを含む2次元配列。失敗した場合に 0 または DB_Error オブジェクトを返します。


Parameters:

string   $sql   SQL クエリ
array   $arrVal   プリペアドステートメントの実行時に使用される配列。配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。
integer   $fetchmode   使用するフェッチモード。デフォルトは DB_FETCHMODE_ASSOC。
   $arrval  

[ Top ]

method getCol [line 651]

array getCol( string $col, string $table, [string $where = ""], [array $arrWhereVal = array()])

SELECT 文の実行結果を 1列のみ取得する.



Tags:

return:  SQL の実行結果の配列


Parameters:

string   $table   テーブル名
string   $col   カラム名
string   $where   付与する WHERE 句
array   $arrWhereVal   プレースホルダに挿入する値

[ Top ]

method getLastQuery [line 159]

string getLastQuery( [boolean $disp = true])

直前に実行されたSQL文を取得する.



Tags:

return:  SQL文


Parameters:

boolean   $disp   trueの場合、画面出力を行う.

[ Top ]

method getOne [line 597]

mixed getOne( string $sql, [array $arrval = array()])

SQL を指定して, 特定のカラムの値を取得する.



Tags:

return:  SQL の実行結果


Parameters:

string   $sql   実行する SQL
array   $arrval   プレースホルダに挿入する値

[ Top ]

method getQueryDefsFields [line 961]

array getQueryDefsFields( string $n, [array $arr = array()], [boolean $ignore_err = false], [mixed $types = null], [mixed $result_types = MDB2_PREPARE_RESULT])

SQLクエリの結果セットのカラム名だけを取得する



Tags:

return:  実行結果の配列


Parameters:

string   $n   実行する SQL 文
array   $arr   プレースホルダに挿入する値
mixed   $types   プレースホルダの型指定 デフォルトnull = string
mixed   $result_types   返値の型指定またはDML実行(MDB2_PREPARE_MANIP)
boolean   $ignore_err   エラーが発生しても処理を続行する場合 true

[ Top ]

method getRow [line 624]

array getRow( string $col, string $table, [string $where = ""], [array $arrWhereVal = array()], [integer $fetchmode = MDB2_FETCHMODE_ASSOC])

一行をカラム名をキーとした連想配列として取得



Tags:

return:  array('カラム名' => '値', ...)の連想配列


Parameters:

string   $table   テーブル名
string   $col   カラム名
string   $where   WHERE句
array   $arrWhereVal   プレースホルダ配列
integer   $fetchmode   使用するフェッチモード。デフォルトは MDB2_FETCHMODE_ASSOC。

[ Top ]

method getSingletonInstance [line 94]

SC_Query getSingletonInstance( [string $dsn = ""], [boolean $force_run = false], [boolean $new = false])

シングルトンの SC_Query インスタンスを取得する.



Tags:

return:  シングルトンの SC_Query インスタンス


Parameters:

string   $dsn   データソース名
boolean   $force_run   エラーが発生しても処理を続行する場合 true
boolean   $new   新規に接続を行うかどうか

[ Top ]

method getSql [line 285]

string getSql( string $col, string $table, [string $where = ''], [ &$arrWhereVal = null], mixed $arrWhereVal)

構築した SELECT 文を取得する.

クラス変数から WHERE 句を組み立てる場合、$arrWhereVal を経由してプレースホルダもクラス変数のもので上書きする。




Tags:

return:  構築済みの SELECT 文


Parameters:

string   $col   SELECT 文に含めるカラム名
string   $table   SELECT 文に含めるテーブル名
string   $where   SELECT 文に含める WHERE 句
mixed   $arrWhereVal   プレースホルダ(参照)
   &$arrWhereVal  

[ Top ]

method getTableInfo [line 825]

array getTableInfo( string $table)

テーブルの詳細情報を取得する。



Tags:

return:  テーブル情報の配列


Parameters:

string   $table   テーブル名

[ Top ]

method insert [line 458]

void insert( string $table, array $sqlval)

INSERT文を実行する.



Parameters:

string   $table   テーブル名
array   $sqlval   array('カラム名' => '値',...)の連想配列

[ Top ]

method inTransaction [line 202]

boolean inTransaction( )

トランザクションが開始されているかチェックする.



Tags:

return:  トランザクションが開始されている場合 true


[ Top ]

method isError [line 113]

boolean isError( )

エラー判定を行う.



Tags:

deprecated:  PEAR::isError() を使用して下さい


[ Top ]

method listSequences [line 757]

array listSequences( )

シーケンスの一覧を取得する.



Tags:

return:  シーケンス名の配列


[ Top ]

method listTableFields [line 778]

array listTableFields( string $table)

テーブルのカラム一覧を取得する.



Tags:

return:  指定のテーブルのカラム名の配列


Parameters:

string   $table   テーブル名

[ Top ]

method listTableIndexes [line 789]

array listTableIndexes( string $table)

テーブルのインデックス一覧を取得する.



Tags:

return:  指定のテーブルのインデックス一覧


Parameters:

string   $table   テーブル名

[ Top ]

method listTables [line 767]

array listTables( )

テーブル一覧を取得する.



Tags:

return:  テーブル名の配列


[ Top ]

method max [line 555]

integer max( string $col, string $table, [string $where = ""], [array $arrval = array()])

MAX文を実行する.



Tags:

return:  MAX文の実行結果


Parameters:

string   $table   テーブル名
string   $col   カラム名
string   $where   付与する WHERE 句
array   $arrval   プレースホルダに挿入する値

[ Top ]

method min [line 569]

integer min( string $col, string $table, [string $where = ""], [array $arrval = array()])

MIN文を実行する.



Tags:

return:  MIN文の実行結果


Parameters:

string   $table   テーブル名
string   $col   カラム名
string   $where   付与する WHERE 句
array   $arrval   プレースホルダに挿入する値

[ Top ]

method nextVal [line 692]

void nextVal( string $seq_name, integer 1)

次のシーケンス値を取得する.



Parameters:

string   $seq_name   取得するシーケンス名
integer   1   次のシーケンス値

[ Top ]

method orWhere [line 380]

SC_Query orWhere( string $str)

SELECT 文の WHERE 句に付与する OR 条件を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $str   WHERE 句に付与する OR 条件の文字列

[ Top ]

method query [line 732]

array query( string $n, [array $arr = array()], [boolean $ignore_err = false], [mixed $types = null], [mixed $result_types = MDB2_PREPARE_RESULT])

SQL を実行する.

FIXME $ignore_errが無視されるようになっているが互換性として問題が無いか確認が必要




Tags:

return:  SQL の実行結果の配列


Parameters:

string   $n   実行する SQL 文
array   $arr   プレースホルダに挿入する値
boolean   $ignore_err   MDB2切替で無効化されている (エラーが発生しても処理を続行する場合 true)
mixed   $types   プレースホルダの型指定 デフォルトnull = string
mixed   $result_types   返値の型指定またはDML実行(MDB2_PREPARE_MANIP)

[ Top ]

method quote [line 841]

string quote( string $val)

値を適切にクォートする.

TODO MDB2 に対応するための暫定的な措置. プレースホルダが使用できない実装があるため. 本来であれば, MDB2::prepare() を適切に使用するべき




Tags:

return:  クォートされた文字列
see:  MDB2::quote()


Parameters:

string   $val   クォートを行う文字列

[ Top ]

method rollback [line 193]

MDB2_OK rollback( )

トランザクションをロールバックする.



Tags:

return:  成功した場合は MDB2_OK; 失敗した場合は PEAR::Error オブジェクト


[ Top ]

method select [line 148]

array|null select( string $col, string $table, [string $where = ""], [array $arrWhereVal = array()], [integer $fetchmode = MDB2_FETCHMODE_ASSOC])

SELECT文を実行する.



Parameters:

string   $col   カラム名. 複数カラムの場合はカンマ区切りで書く
string   $table   テーブル名
string   $where   WHERE句
array   $arrWhereVal   プレースホルダ
integer   $fetchmode   使用するフェッチモード。デフォルトは MDB2_FETCHMODE_ASSOC。

[ Top ]

method setGroupBy [line 346]

SC_Query setGroupBy( string $str)

SELECT 文に付与する GROUP BY 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $str   GROUP BY 句に付与する文字列

[ Top ]

method setLimit [line 429]

SC_Query setLimit( integer $limit)

SELECT 文に付与する LIMIT 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

integer   $limit   LIMIT 句に設定する値

[ Top ]

method setLimitOffset [line 328]

SC_Query setLimitOffset( integer $limit, [integer $offset = 0])

SELECT 文に付与する LIMIT, OFFSET 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます. TODO MDB2::setLimit() を使用する




Tags:

return:  自分自身のインスタンス


Parameters:

integer   $limit   LIMIT 句に付与する値
integer   $offset   OFFSET 句に付与する値

[ Top ]

method setOffset [line 444]

SC_Query setOffset( integer $offset)

SELECT 文に付与する OFFSET 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

integer   $offset   LIMIT 句に設定する値

[ Top ]

method setOption [line 313]

SC_Query setOption( string $str)

SELECT 文の末尾に付与する SQL を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $str   付与する SQL 文

[ Top ]

method setOrder [line 412]

SC_Query setOrder( string $str)

SELECT 文に付与する ORDER BY 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $str   ORDER BY 句に付与する文字列

[ Top ]

method setVal [line 713]

MDB2_OK setVal( string $seq_name, integer $start)

シーケンス値を設定する.



Parameters:

string   $seq_name   シーケンス名
integer   $start   設定するシーケンス値

[ Top ]

method setWhere [line 398]

SC_Query setWhere( [string $where = ''], [mixed $arrWhereVal = array()])

SELECT 文に付与する WHERE 句を設定する.

この関数で設定した値は SC_Query::getSql() で使用されます.




Tags:

return:  自分自身のインスタンス


Parameters:

string   $where   WHERE 句に付与する文字列
mixed   $arrWhereVal   プレースホルダ

[ Top ]

method update [line 500]

void update( string $table, array $sqlval, [string $where = ""], [array $arrWhereVal = array()], [array $arrRawSql = array()], [array $arrRawSqlVal = array()])

UPDATE文を実行する.



Parameters:

string   $table   テーブル名
array   $sqlval   array('カラム名' => '値',...)の連想配列
string   $where   WHERE句
array   $arrWhereVal   WHERE句用のプレースホルダ配列 (従来は追加カラム用も兼ねていた)
array   $arrRawSql   追加カラム
array   $arrRawSqlVal   追加カラム用のプレースホルダ配列

[ Top ]


Documentation generated on Fri, 24 Feb 2012 14:02:54 +0900 by Seasoft